package br.com.gui;

import java.util.ArrayList;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.WindowManager;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import br.com.modelo.entidade.Caracteristica;
import br.com.modelo.repositorio.CarregaListas;
import br.com.util.ManageFile;

public class CaracteristicasTela extends Activity implements OnClickListener {

	LinearLayout lyPersonalizado;
	public static ArrayList<CheckBox> chk = new ArrayList<CheckBox>();
	public static ArrayList<Caracteristica> selecionados = new ArrayList<Caracteristica>();

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
	}

	@Override
	protected void onResume() {
		lyPersonalizado = new LinearLayout(this);
		lyPersonalizado.setOrientation(LinearLayout.VERTICAL);

		ScrollView s = new ScrollView(this);
		s.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
				LayoutParams.FILL_PARENT));
		ManageFile.extensao = ".xml";

		TextView text = new TextView(this);
		text.setText(MenuPrincipalTela.titulo);
		text.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.rh_mini, 0);
		text.setBackgroundColor(Color.GRAY);
		lyPersonalizado.addView(text);

		for (int c = 0; c < CarregaListas.caracteristicas.size(); c++) {

			if (CarregaListas.caracteristicas.get(c).getCategoria().equals(MenuPrincipalTela.titulo)) {
				//Arraylist com o mesmo tamanho da lista de checkbox.
				selecionados.add(CarregaListas.caracteristicas.get(c));
				CheckBox cb = new CheckBox(this);
				cb.setText(CarregaListas.caracteristicas.get(c).getNome());
				cb.setId(CarregaListas.caracteristicas.get(c).getId());
				if (CarregaListas.caracteristicas.get(c).getMarcado() == true) {
					cb.setChecked(true);
				} else {
					cb.setChecked(false);
				}
				cb.setOnClickListener(this);
				chk.add(cb);
				lyPersonalizado.addView(cb);
			}
		}

		requestWindowFeature(Window.FEATURE_NO_TITLE);
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
		s.addView(lyPersonalizado);
		setContentView(s);
		super.onResume();

	}

	public boolean onKeyDown(int keyCode, KeyEvent event) {

		if (keyCode == KeyEvent.KEYCODE_BACK) {
			finish();
		}
		return super.onKeyDown(keyCode, event);
	}

	public void onClick(View v) {

		for (int b = 0; b < CaracteristicasTela.chk.size(); b++) {
			if (CaracteristicasTela.chk.get(b).isChecked() == true) {
				selecionados.get(b).setMarcado(true);
				for (Caracteristica caract : CarregaListas.caracteristicas) {
					if (selecionados.get(b).getId() == caract.getId()) {
						/*
						 * Seta como "marcado" (true) o objeto com o mesmo id na
						 * lista da classe CarregaListas.caracteristicas.
						 */
						caract.setMarcado(true);
						break;
					}
				}
			} else {
				selecionados.get(b).setMarcado(false);
				for (Caracteristica caract : CarregaListas.caracteristicas) {
					if (selecionados.get(b).getId() == caract.getId()) {
						caract.setMarcado(false);
					}
				}
			}
		}
	}
}
